Multiple tone modulation schemes are currently used in a wide variety of communications systems. For example, discrete multi-tone (DMT) modulation is used with digital subscriber line (DSL) technologies (including both ADSL (Asymmetric DSL) and VDSL (Very high speed DSL), collectively known as “xDSL”). In addition, carrierless orthogonal frequency division multiplex (COFDM) has been widely adopted as a standard for digital terrestrial TV broadcasting.
In these systems, the data to be transmitted are sub-divided across a number of distinct frequencies, also referred to as tones or sub-carriers. These tones are typically integer multiples of a fixed basic frequency. In the case of COFDM, a group of tones is shifted up to a much higher frequency range for transmission from an aerial. The number of tones used in different systems and within an individual system can vary. For example, a low bandwidth ADSL upstream link may use 10 tones whereas an “8K-carrier” COFDM digital TV transmission may use several thousand tones.
Data to be modulated onto the multiple tones for transmission in these systems must be extracted from a stream of processed bits (e.g., the stream of input bits typically undergoes processing such as scrambling, Reed-Solomon encoding, interleaving, etc., prior to transmission) by subdividing the stream of bits into individual bit-fields, where separate fields (each comprising a small number of bits) are used to modulate the separate tones. In addition, data to be demodulated at a receiver must be retrieved from the multiple tones and combined into a continuous bit-stream for further processing by the system, in a process which is the reverse of the bit-field extraction performed at the transmitter.
It is increasingly common for modulation and demodulation operations in systems using multiple tones (for example, an xDSL modem) to be implemented using software running on a programmable processor. However, the bit-field extract and combine operations used in these systems, when effected using conventional instructions that are present on typical processors, can represent a significant portion of the total computational cost for the system. With increasing workloads (e.g., in respect to the average number of tones used in a transmission channel), improving the efficiency of the extract and combine processes in such systems is critical.
What is therefore needed is a system and method that significantly reduces the number of cycles needed to perform bit-field extract and combine operations.
The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers can indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number may identify the drawing in which the reference number first appears.